﻿using Microsoft.Practices.Prism.ViewModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CWM.Client.Models
{
    public partial class User : Selectable
    {
        private string _id;
        private string _account;
        private string _password;
        private string _name;
        private int? _organizationId;
        private int? _roleId;
        private string _kind;
        private int? _gender;
        private string _birthday;
        private string _phone;
        private string _email;
        private string _departmant;
        private string _createUser;
        private DateTime? _createDate;
        private string _modifyUser;
        private DateTime? _modifyDate;
        private int? _status;
        private string _memo;
        private string _qq;
        private string _wechat;
        private string _msn;
        private string _skype;
        public string Id
        {
            get
            {
                return _id;
            }
            set
            {
                _id = value;
                this.RaisePropertyChanged("Id");
            }
        }
        public string Account
        {
            get
            {

                return _account;
            }
            set
            {
                _account = value;
                this.RaisePropertyChanged("Account");
            }
        }
        public string Password
        {
            get
            {

                return _password;
            }
            set
            {
                _password = value;
                this.RaisePropertyChanged("Password");
            }
        }
        public string Name
        {
            get
            {

                return _name;
            }
            set
            {
                _name = value;
                this.RaisePropertyChanged("Name");
            }
        }
        public int? OrganizationId
        {
            get
            {

                return _organizationId;
            }
            set
            {
                _organizationId = value;
                this.RaisePropertyChanged("OrganizationId");
            }

        }
        public int? Roleid
        {
            get
            {

                return _roleId;
            }
            set
            {
                _roleId = value;
                this.RaisePropertyChanged("Roleid");
            }
        }
        public string Kind
        {
            get
            {

                return _kind;
            }
            set
            {
                _kind = value;
                this.RaisePropertyChanged("Kind");
            }
        }
        public int? Gender
        {
            get
            {

                return _gender;
            }
            set
            {
                _gender = value;
                this.RaisePropertyChanged("Gender");
            }
        }
        public string Birthday
        {
            get
            {

                return _birthday;
            }
            set
            {
                _birthday = value;
                this.RaisePropertyChanged("Birthday");
            }
        }

        public string Phone
        {
            get
            {

                return _phone;
            }
            set
            {
                _phone = value;
                this.RaisePropertyChanged("Phone");
            }
        }
        public string Email
        {
            get
            {

                return _email;
            }
            set
            {
                _email = value;
                this.RaisePropertyChanged("Email");
            }
        }
        public string Departmant
        {
            get
            {

                return _departmant;
            }
            set
            {
                _departmant = value;
                this.RaisePropertyChanged("Departmant");
            }
        }
        public string CreateUser
        {
            get
            {

                return _createUser;
            }
            set
            {
                _createUser = value;
                this.RaisePropertyChanged("CreateUser");
            }
        }
        public DateTime? CreateDate
        {
            get
            {
                if (_createDate == null)
                {
                    _createDate = DateTime.Now;
                }
                return _createDate;
            }
            set { _createDate = value; this.RaisePropertyChanged("CreateDate"); }
        }
        public string ModifyUser
        {
            get
            {

                return _modifyUser;
            }
            set
            {
                _modifyUser = value;
                this.RaisePropertyChanged("ModifyUser");
            }
        }
        public DateTime? ModifyDate
        {
            get
            {
                if (_modifyDate == null)
                {
                    _modifyDate = DateTime.Now;
                }
                return _modifyDate;
            }
            set
            {
                _modifyDate = value;
                this.RaisePropertyChanged("ModifyDate");
            }
        }
        public int? Status
        {
            get
            {

                return _status;
            }
            set
            {
                _status = value;
                this.RaisePropertyChanged("Status");
            }
        }
        public string Memo
        {
            get
            {

                return _memo;
            }
            set
            {
                _memo = value;
                this.RaisePropertyChanged("Memo");
            }
        }
        public string Qq
        {
            get
            {

                return _qq;
            }
            set
            {
                _qq = value;
                this.RaisePropertyChanged("Qq");
            }
        }
        public string Wechat
        {
            get
            {

                return _wechat;
            }
            set
            {
                _wechat = value;
                this.RaisePropertyChanged("Wechat");
            }
        }
        public string Skype
        {
            get
            {

                return _skype;
            }
            set
            {
                _skype = value;
                this.RaisePropertyChanged("Skype");
            }
        }
        public string Msn
        {
            get
            {

                return _msn;
            }
            set
            {
                _msn = value;
                this.RaisePropertyChanged("Msn");
            }
        }
    }
}
